package org.example;

import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

public class CheMappers {
    public static void main(String[] args) {
        String filePath = "src/main/resources/test/carMappers.xlsx";
        //获取A表中的数据
        List<String> listA = ExcelUtil.readExcelString(filePath, "A");
        //获取B表
        List<String> listB = ExcelUtil.readExcelString(filePath, "B");
        //处理AB表的映射
        List<Map<String,String>> mapList = new LinkedList<>();//存储数据处理后的映射表
        for (String a: listA) {
            a.trim();//去除首尾空格，减少处理量
            String[] keyWordA = a.split(" ");//以空格分割字符串
            for (String b: listB) {
                Map<String,String> map=new LinkedHashMap<>();//映射表
                if (StringUtil.containsWords(b,keyWordA)){//匹配成功
                    //  第一个String 列名
                    //  第二个String 数据
                    map.put("a_name",a);
                    map.put("b_name",b);
                    mapList.add(map);
                    //移除相同的键数据
                    int count=0;
                    for ( Map<String, String> m : mapList) {
                        if (m.get("a_name").equals(a)){
                            count++;
                        }
                    }
                    if (count>1){
                        mapList.remove(map);
                    }
                }

            }
        }
        //创建C表
        String titleRow[] = {"a_name", "b_name"};
        ExcelUtil.createExcel(filePath, "C", titleRow);
        //写数据
        ExcelUtil.writeToExcel(filePath, "C", mapList);
    }


}

